package com.miplus.ccrm.core.service.aiqm;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.yulichang.base.MPJBaseService;
import com.miplus.ccrm.common.CmdResVo;
import com.miplus.ccrm.common.JSysUser;
import com.miplus.ccrm.core.controller.vo.aiqm.*;
import com.miplus.ccrm.core.controller.vo.ficase.ImpResultVo;
import com.miplus.ccrm.core.controller.vo.strategy.PreViewTrigReqVo;
import com.miplus.ccrm.core.pojo.CfgRuleTaskSteps;
import com.miplus.ccrm.core.pojo.QmData;

import javax.servlet.http.HttpServletResponse;

/**
 * @author pc
 * @description 针对表【QM_DATA(质检数据表)】的数据库操作Service
 * @createDate 2024-11-04 12:03:46
 */
public interface QmDataService extends MPJBaseService<QmData> {

    IPage<QmViewResVo> preViewQmData(PreViewTrigReqVo paras);

    IPage<QmViewResVo> preViewQmData(String triggerid,Integer pagenum,Integer pagesize);

    IPage<QmCaseResVo> qmDataList(JSysUser user,QmCaseReqVo paras,Boolean isEncryption);

    ImpResultVo importQmData(String usrid, ImpQmDataReqVo paras);

    ImpResultVo importQmData(String usrid,String clid,String triggerid,String batchdsc,String imptype,String tempid);

    CmdResVo expQmData(JSysUser user, QmCaseReqVo paras, HttpServletResponse response);

    CmdResVo checkResult(String $usrid, QmCheckVo paras);
    QmCheckResultResVo getCheckResult(String $usrid, String dataid);

    ImpResultVo uploadResult(JSysUser user, ImpQmDataReqVo paras);

    CmdResVo doAiQm(String usrid, QmCaseReqVo paras);

    CmdResVo autoAiQm(CfgRuleTaskSteps ruleTaskSteps, String sql);

    CmdResVo swapAsrCallRole(String usrid, String callid);
}
